package com.surelution.lansao.wxmp.partner

import com.surelution.lansao.Partner
import com.surelution.lansao.PartnerRequiredOperation
import com.surelution.whistle.core.Attribute

abstract class RequiredBaseSub {

	private PartnerRequiredOperation operation
	private Partner partner
	private BaseLansaoPartnerAction host

	public void setOperation(PartnerRequiredOperation operation) {
		this.operation = operation
	}
	public void setPartner(Partner partner) {
		this.partner = partner
	}
	public void setHost(BaseLansaoPartnerAction host) {
		this.host = host
	}
	public PartnerRequiredOperation getOperation() {
		return operation
	}
	public Partner getPartner() {
		return partner;
	}
	public BaseLansaoPartnerAction getHost() {
		return host;
	}
	
	public abstract boolean accept();
	
	public abstract List<Attribute> process()
}
